深入学习 JVM - Command

Monitor

jps

主要用来输出JVM中运行的进程状态信息。

1
jps -m -l

jinfo

实时查看和调整虚拟机运行参数。

1
jinfo -flags pid

jstat

用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

1
2
3
4
5
6
7
jstat -gcutil pid 1000

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 28.55 39.40 95.96 89.23 833 3.391 5 6.704 10.096
0.00 0.00 28.55 39.40 95.96 89.23 833 3.391 5 6.704 10.096
0.00 0.00 28.55 39.40 95.96 89.23 833 3.391 5 6.704 10.096
0.00 0.00 28.55 39.40 95.96 89.23 833 3.391 5 6.704 10.096

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

jmap

1
2
3
4
5
jmap -histo:live -pid

jmap -heap pid

jmap -dump:format=b

jhat

jstack

1
jstack -l pid

jconsole


Compile

javap

分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的protected和public域以及类里的所有方法。

Reference